Google Earth Engine is available via a web-based JavaScript Application Program Interface (API) called the Code Editor. This platform is where users can write and execute scripts to share and repeat geospatial analysis and processing workflows. The Code Editor offers access to the full power of the Earth Engine.
Google Earth Engine is also available via a Python Application Program Interface (API). Users can write and execute python code in any editor they prefer and in any environment.
Access to Google Earth Engine is currently only available to registered users. The API is in active development, and users should expect the API to change. When (not if) API changes occur, applications that use the API will likely need to be updated.
The following table and code block includes a list of the common syntax differences you'll encounter when working with the Python API relative to the JavaScript API.
JS code editor | Python |
---|---|
var myFun = function(img) { return img; }; |
# Define a function def my_fun(img): return img |
// Define a variable var myVar = "var"; // Logical operators var match = this.and(that); var match = this.or(that); var match = this.not(that); |
# Define a variable my_var = "var" # Logical operators match = this.And(that) match = this.Or(that) match = this.Not(that |
let's compare in details but first, there is a python module we need to install to take full advantage of GEE tools. These are a set of tools for working with Google Earth Engine Python API that may help to solve or automatize some processes. Tools are developed and maintained by gee-community in Github.
They have split the module into two i.e. geetools and ipygee. geetools
will contain functions and methods related to Google Earth Engine exclusively, so you can use this module in any Python environment you like.
For working in Jupyter They have made another package called ipygee. ipygee
is a set of tools and Widgets for working with Google Earth Engine in Jupyter notebooks and Jupyter Lab
Now let compare from grass root
1. Strength / Weakness
Category | JS API | Python API |
---|---|---|
Editor |
Code Editor offers access to the full power of the Earth Engine 1.Web-based JavaScript Editor (best editor for practical GEE) |
you have the power choice to choose your own code editor. 1. Jupyter notebook 2. Pycharm 3. Visual Studio and so on but all editor lacks the rich features as in JS code editor
|
Additional feature |
Must stick to the features provided by Google 1. In-built charts 2. In-built map functions 3. In-built UI layouts |
Have the flexibility to do add every desired module and feature. 1. TensorFlow 2. Pandas 3. Matplotlib 4. Django 5. Folium and every python |
Code Sharing / Application |
Coding sharing is made easy and quick which works like google drive link 1. Easy 2. Simple 3. Lacks the team involvement or simply made for the single user
|
you are the boss of your code, it means you can use any medium to share the code 1. Github 2. GitLab and many other platforms
|
Learning cycle |
Learning is quick and easy even if you have zero knowledge on programming
|
The learning curve is slow on the beginning
|
Assets Management |
you have lots of google cloud storage or drive
|
have the flexibility to use the local file as assets or can use assets from cloud storage
|
Applications |
Strictly stands to the planetary 1. Data analysis, 2. Easy coding, 3. Fast processing
|
have the flexibility to integrate in 1. Web applications 2. Data science 3. Data mining and many more |
At the end of the day, Its personal choice to choose between the JS API or Python API. For the recommendation, if you are non-programmer and have no interest in programming just want to analysis and research web base code editor is perfect whereas if you are a programmer and want to full power of GEE python API gives you the best